[daehyun99] WEEK02 solutions#2687
Conversation
๐ daehyun99 ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
collections ์ Counter๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก defaultdict(int) ์ฒ๋ผ ์๋ ํค๊ฐ์ ๋ํด 0์ ๋ณด๋ธ๋ค๋๊ฒ์ ์๊ณ ๊ณ์ค๊น์?
๊ทธ๊ฑธ ์ฐ์๋ฉด ํจ์ฌ ๊ฐ๋จํ๊ฒ ์์ฑํ์ค์ ์์ผ์ค๊ฑฐ์์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Sorting
- ์ค๋ช : ์ฃผ ์ฝ๋์ ํต์ฌ์ ์ด์ค ํฌ์ธํฐ(l, r)๋ฅผ ์ด์ฉํด ์ ๋ ฌ๋ ๋ฐฐ์ด์์ ํฉ์ด 0์ด ๋๋๋ก ์ฐพ๋ ๊ตฌ์กฐ๋ก, ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํด ํฌ์ธํฐ ์ด๋ ์๊ฑด์ ์ฌ์ฉํ๋ค. ์ด๋ Two Pointers ํจํด์ ๋ํ์ ์์ด๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n^2) |
| Space | O(1) |
ํผ๋๋ฐฑ: ์ ๋ ฌ๊ณผ ๋ ํฌ์ธํฐ๋ก ์ค๋ณต์ ๊ฑด๋๋ฐ๋ ๋ฐฉ์์ผ๋ก ํ์ํ์ง ์์ ํ์์ ์ ๊ฑฐํ๋ค. ๋จ์ผ ๋ฃจํ ๋ด์์ ์ข์ฐ ํฌ์ธํฐ๋ฅผ ์กฐ์ ํ๋ฏ๋ก ์๊ฐ ๋ณต์ก๋๋ ์ด ๋ฌธ์ ์ ์ต์ ์ ๊ฐ๊น๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Dynamic Programming, Greedy
- ์ค๋ช : ์ฃผ์ด์ง ์ฝ๋๋ ํผ๋ณด๋์น ํํ์ ๊ณ๋จ ์ค๋ฅด๊ธฐ ๋ฌธ์ ๋ฅผ ๋ค์ํ ์กฐํฉ์ผ๋ก ์ธ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋๋ฉฐ, DP์ ๊ธฐ๋ณธ ์์ด๋์ด(๋ถ๋ถ ๋ฌธ์ ์ ํฉ)์ ํ์์ ์ ๊ทผ(๊ทธ๋ฆฌ๋ํ์ผ๋ก ํน์ ๋จ๊ณ์ ์ ํ ๋ถ๊ธฐ)์ ํตํด ํด๋ฅผ ๊ตฌํ๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ๊ฐ ๋จ๊ณ์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ํ๋ก ์ ์งํด ๋น ๋ฅด๊ฒ ๋์ ํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋์์ผ๋, ํ์ฌ ๊ตฌํ์ ์ง๊ด์ ์ด์ง ์์ ์ ์๋ค.
๊ฐ์ ์ ์: ์๋์ ๊ฐ๋ ์ฑ์ ์ํด ๊ฐ๋จํ ํผ๋ณด๋์น DP๋ก ๊ตฌํํ๊ฑฐ๋, ๊ณต๊ฐ์ ๋ ์ ์ฝํ๋ ํํ๋ก ๊ฐ์ ํด ๋ณด์ธ์.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Prefix/Suffix Product (a.k.a. product of array except self) pattern cannot be generic name, Hash Map / Hash Set, Division and Edge Case Handling
- ์ค๋ช : ๋ฐฐ์ด ์ ์ฒด ๊ณฑ์ ํ ๋ฒ์ ๊ตฌํ ๋ค ๊ฐ ์์๋ฅผ ๋๋๋ ๋ฐฉ์๊ณผ 0์ ์์น๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. 0์ ๊ฐ์์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅด๊ฒ ๋ฐํํ๋ ๋ก์ง์ ์์ธ ์ฒ๋ฆฌ ํจํด์ ํด๋นํ๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ์ ๋ก ์ฒ๋ฆฌ๋ฅผ ๋ช ํํ๊ฒ ๋ถ๋ฆฌํ๊ณ , ์ถ๊ฐ ๋ฐฐ์ด ์์ด๋ ๊ฒฐ๊ณผ๋ฅผ ๊ณ์ฐํ ์ ์๋ ๊ตฌ์กฐ๋ค.
๊ฐ์ ์ ์: ํนํ ์ ๋ก๊ฐ ํ๋์ธ ๊ฒฝ์ฐ์ ์์ ๋์ ๋ถ๊ธฐ ๋ก์ง์ ๊ฐ๊ฒฐํ๊ฒ ๋ค๋ฌ์ผ๋ฉด ๊ฐ๋ ์ฑ์ด ํฅ์๋ ์ ์๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Hash Map / Hash Set, Two Pointers, Greedy
- ์ค๋ช : ๋ ๋ฌธ์์ด์ ๋ฌธ์ ๋น๋๋ฅผ ํด์๋งต์ผ๋ก ํฉ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ฉฐ, ์๋ก ๋ค๋ฅธ ๋ฌธ์์ ๊ฐ์๋ฅผ ๋น ๋ฅด๊ฒ ํ์ธํด ํ๋ณด๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ๋ ํฌ์ธํฐ์ฒ๋ผ zip์ผ๋ก ํ ๊ธ์์ฉ ์ง์ ๋ง์ถ๋ ๋๋๋ ์์ต๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(k) |
ํผ๋๋ฐฑ: ์นด์ดํธ ์ฐจ์ด๋ฅผ ์ด์ฉํด ํ ๋ฒ์ ์ํ๋ก ๊ฒฐ๊ณผ๋ฅผ ํ์ ํ๋ค. ๊ฐ๋จํ๊ณ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ด๋ค.
๊ฐ์ ์ ์: ํ์ ์์ ๋๋ defaultdict ์ฌ์ฉ ๋์ ๋ฐฐ์ด ์ธ๋ฑ์ค ๊ธฐ๋ฐ ์นด์ดํธ๋ก ๋ ๋น ๋ฅด๊ฒ ๊ตฌํ ๊ฐ๋ฅ.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Binary Search, Depth-First Search
- ์ค๋ช : BST ๊ฒ์ฆ ๋ฌธ์ ์์ ํธ๋ฆฌ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ํํ๋ฉฐ ๊ฐ ๋ ธ๋์ ๊ฐ์ด ์ผ์ชฝ/์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์ ๋ฒ์ ์ ์ฝ์ ๋ง์กฑํ๋์ง ํ์ธํ๋ค. ์ฌ๊ท์ ํ์(DFS)์ผ๋ก ์์ ๋ ธ๋์ ํ์ฉ ๋ฒ์๋ฅผ ์ขํ ๊ฐ๋ ๋ฐฉ์์ด๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(h) |
ํผ๋๋ฐฑ: ์ข์ฐ ์์ ๋ ธ๋์ ๋ํด ์ํ/ํํ ๊ฐ์ ์ ๋ฌํ๋ ๋ฐฉ์์ผ๋ก ์ค๋ณต ํฌํจ ์ฌ๋ถ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํ๋จํ๋ค.
๊ฐ์ ์ ์: ์คํ์ ์ด์ฉํ ๋น์ฌ๊ท ๊ตฌํ์ผ๋ก ์ฌ๊ท ๊น์ด๋ฅผ ์ ์ดํ ์ ์๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!